--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / backend / database / map_drawings.py
Displaying Raw • Download
meshchatx/src/backend/database/map_drawings.py fda9187e95d8b9cc8373c1de23cefce6928c241d (fda9187e) Text, 1.62 KB
Tff7b72from T7ee787datetime Tff7b72import Te6edf3UTCTb4b4b4, Te6edf3datetime
Tff7b72from T7ee787.T7ee787provider Tff7b72import Te6edf3DatabaseProvider
Tff7b72class T56d364MapDrawingsDAOTb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3providerTb4b4b4: Te6edf3DatabaseProviderTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffprovider Tff7b72= Te6edf3provider
Tff7b72def Td2a8ffupsert_drawingTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3identity_hashTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3dataTb4b4b4)Tb4b4b4:
Te6edf3now Tff7b72= Te6edf3datetimeTff7b72.Td2a8ffnowTb4b4b4(Te6edf3UTCTb4b4b4)
T8b949e# Check if drawing with same name exists for this user
Te6edf3existing Tff7b72= Tff7b72selfTff7b72.Td2a8ffproviderTff7b72.Td2a8fffetchoneTb4b4b4(
Ta5d6ff"Ta5d6ffSELECT id FROM map_drawings WHERE identity_hash = ? AND name = ?Ta5d6ff"Tb4b4b4,
Tb4b4b4(Te6edf3identity_hashTb4b4b4, Te6edf3nameTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tff7b72if Te6edf3existingTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffproviderTff7b72.Td2a8ffexecuteTb4b4b4(
Ta5d6ff"Ta5d6ffUPDATE map_drawings SET data = ?, updated_at = ? WHERE id = ?Ta5d6ff"Tb4b4b4,
Tb4b4b4(Te6edf3dataTb4b4b4, Te6edf3nowTb4b4b4, Te6edf3existingTb4b4b4[Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffproviderTff7b72.Td2a8ffexecuteTb4b4b4(
T8b949e"""
INSERT INTO map_drawings (identity_hash, name, data, created_at, updated_at)
VALUES (?, ?, ?, ?, ?)
"""Tb4b4b4,
Tb4b4b4(Te6edf3identity_hashTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3dataTb4b4b4, Te6edf3nowTb4b4b4, Te6edf3nowTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tff7b72def Td2a8ffget_drawingsTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3identity_hashTb4b4b4)Tb4b4b4:
Tff7b72return Tff7b72selfTff7b72.Td2a8ffproviderTff7b72.Td2a8fffetchallTb4b4b4(
Ta5d6ff"Ta5d6ffSELECT * FROM map_drawings WHERE identity_hash = ? ORDER BY updated_at DESCTa5d6ff"Tb4b4b4,
Tb4b4b4(Te6edf3identity_hashTb4b4b4,Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Tff7b72def Td2a8ffdelete_drawingTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3drawing_idTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffproviderTff7b72.Td2a8ffexecuteTb4b4b4(
Ta5d6ff"Ta5d6ffDELETE FROM map_drawings WHERE id = ?Ta5d6ff"Tb4b4b4,
Tb4b4b4(Te6edf3drawing_idTb4b4b4,Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Tff7b72def Td2a8ffupdate_drawingTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3drawing_idTb4b4b4, Te6edf3nameTb4b4b4, Te6edf3dataTb4b4b4)Tb4b4b4:
Te6edf3now Tff7b72= Te6edf3datetimeTff7b72.Td2a8ffnowTb4b4b4(Te6edf3UTCTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffproviderTff7b72.Td2a8ffexecuteTb4b4b4(
Ta5d6ff"Ta5d6ffUPDATE map_drawings SET name = ?, data = ?, updated_at = ? WHERE id = ?Ta5d6ff"Tb4b4b4,
Tb4b4b4(Te6edf3nameTb4b4b4, Te6edf3dataTb4b4b4, Te6edf3nowTb4b4b4, Te6edf3drawing_idTb4b4b4)Tb4b4b4,
Tb4b4b4)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────